vector<ListNode*> splitListToParts(ListNode* head, int k) {
        ListNode *t = head;
        int n = 0;
        while(t)
        {
            n++;
            t = t->next;
        }

        int quotinent = n / k, remainder = n % k;
        vector<ListNode*> parts(k, nullptr); // 大小为k
        ListNode *cur = head;
        for(int i = 0; i < k && cur; ++i)
        {
            parts[i] = cur;
            int partSize = quotinent + (i < remainder ? 1 : 0);
            for(int j = 1; j < partSize; ++j)
                cur = cur->next;
            
            ListNode *next = cur->next;
            cur->next = nullptr;
            cur = next;
        }
        re